package com.wyzz.hr.pojo.base;

import java.io.Serializable;
import java.util.Date;

import com.wyzz.hr.pojo.ContractType;
import com.wyzz.hr.pojo.Empcontract;
import com.wyzz.hr.pojo.Employee;

public abstract class BaseEmpcontract implements Serializable {

	public BaseEmpcontract() {
		hashCode = 0x80000000;
		initialize();
	}

	public BaseEmpcontract(String ectId) {
		hashCode = 0x80000000;
		setEctId(ectId);
		initialize();
	}

	protected void initialize() {
	}

	public String getEctId() {
		return ectId;
	}

	public void setEctId(String ectId) {
		this.ectId = ectId;
		hashCode = 0x80000000;
	}

	public String getEctNo() {
		return ectNo;
	}

	public void setEctNo(String ectNo) {
		this.ectNo = ectNo;
	}

	public Date getEctStartDate() {
		return ectStartDate;
	}

	public void setEctStartDate(Date ectStartDate) {
		this.ectStartDate = ectStartDate;
	}

	public Date getEctEndDate() {
		return ectEndDate;
	}

	public void setEctEndDate(Date ectEndDate) {
		this.ectEndDate = ectEndDate;
	}

	public Integer getEtcExpire() {
		return etcExpire;
	}

	public void setEtcExpire(Integer etcExpire) {
		this.etcExpire = etcExpire;
	}

	public String getEctAttatchment() {
		return ectAttatchment;
	}

	public void setEctAttatchment(String ectAttatchment) {
		this.ectAttatchment = ectAttatchment;
	}

	public String getEctComments() {
		return ectComments;
	}

	public void setEctComments(String ectComments) {
		this.ectComments = ectComments;
	}

	public String getEctStatus() {
		return ectStatus;
	}

	public void setEctStatus(String ectStatus) {
		this.ectStatus = ectStatus;
	}

	public String getEctCreateBy() {
		return ectCreateBy;
	}

	public void setEctCreateBy(String ectCreateBy) {
		this.ectCreateBy = ectCreateBy;
	}

	public Date getEctCreateDate() {
		return ectCreateDate;
	}

	public void setEctCreateDate(Date ectCreateDate) {
		this.ectCreateDate = ectCreateDate;
	}

	public Date getEctLastChangeTime() {
		return ectLastChangeTime;
	}

	public void setEctLastChangeTime(Date ectLastChangeTime) {
		this.ectLastChangeTime = ectLastChangeTime;
	}

	public String getEctLastChangeBy() {
		return ectLastChangeBy;
	}

	public void setEctLastChangeBy(String ectLastChangeBy) {
		this.ectLastChangeBy = ectLastChangeBy;
	}

	public ContractType getContractType() {
		return contractType;
	}

	public void setContractType(ContractType contractType) {
		this.contractType = contractType;
	}

	public Employee getEmployee() {
		return employee;
	}

	public void setEmployee(Employee employee) {
		this.employee = employee;
	}

	public boolean equals(Object obj) {
		if (null == obj)
			return false;
		if (!(obj instanceof Empcontract))
			return false;
		Empcontract empcontract = (Empcontract) obj;
		if (null == getEctId() || null == empcontract.getEctId())
			return false;
		else
			return getEctId().equals(empcontract.getEctId());
	}

	public int hashCode() {
		if (0x80000000 == hashCode) {
			if (null == getEctId())
				return super.hashCode();
			String hashStr = (new StringBuilder()).append(getClass().getName())
					.append(":").append(getEctId().hashCode()).toString();
			hashCode = hashStr.hashCode();
		}
		return hashCode;
	}

	public String toString() {
		return super.toString();
	}

	public static String REF = "Empcontract";
	public static String PROP_ECT_ATTATCHMENT = "ectAttatchment";
	public static String PROP_ECT_COMMENTS = "ectComments";
	public static String PROP_EMPLOYEE = "employee";
	public static String PROP_ECT_ID = "ectId";
	public static String PROP_ECT_LAST_CHANGE_BY = "ectLastChangeBy";
	public static String PROP_ECT_CREATE_BY = "ectCreateBy";
	public static String PROP_ECT_NO = "ectNo";
	public static String PROP_ETC_EXPIRE = "etcExpire";
	public static String PROP_ECT_CREATE_DATE = "ectCreateDate";
	public static String PROP_ECT_LAST_CHANGE_TIME = "ectLastChangeTime";
	public static String PROP_ECT_STATUS = "ectStatus";
	public static String PROP_CONTRACT_TYPE = "contractType";
	public static String PROP_ECT_START_DATE = "ectStartDate";
	public static String PROP_ECT_END_DATE = "ectEndDate";
	private int hashCode;
	private String ectId;
	private String ectNo;
	private Date ectStartDate;
	private Date ectEndDate;
	private Integer etcExpire;
	private String ectAttatchment;
	private String ectComments;
	private String ectStatus;
	private String ectCreateBy;
	private Date ectCreateDate;
	private Date ectLastChangeTime;
	private String ectLastChangeBy;
	private ContractType contractType;
	private Employee employee;

}
